home *** CD-ROM | disk | FTP | other *** search
/ Programmer Power Tools / Programmer Power Tools.iso / graphics / tcxl.arc / TCXLHIST.DOC < prev    next >
Text File  |  1988-05-13  |  28KB  |  541 lines

  1.  
  2.                             TCXL Revision History
  3.  
  4.  
  5. Version 3.3:
  6.             New features.
  7.                 Full pull-down menu capability for windows.
  8.                 "Smart" text line drawing for windows.
  9.                 Ability to give windows a title.
  10.  
  11.             New functions.
  12.                 lprintsb    - prints a bold-faced string on the printer.
  13.                 waitkeyt    - halts execution until a key is pressed or until a
  14.                               specified amount of time has elapsed.
  15.                 wcclear     - clears window with specified attribute.
  16.                 whline      - draws a horizontal text line in active window.
  17.                 wtitle      - gives active window a title.
  18.                 wvline      - draws a vertical text line in active window.
  19.  
  20.             Modified functions.
  21.                 cvaltype    - tabs and linefeeds were being allowed for alpha
  22.                               types.  Fixed.
  23.                 filld       - optimized for performance
  24.                 wchgattr    - optimized for performance
  25.                 wclear      - is now a macro defined in TCXLWIN.H
  26.                 werrmsg     - added new error messages.
  27.                 winpread    - optimized for size and performance.  No longer
  28.                               wraps back around when in column 1 of 1st field
  29.                 wmbardef    - optimized for size and performance.
  30.                 wmbarget    - new parameters taginit and pulldown.  The taginit
  31.                               parameter specifies initial position of the
  32.                               selection bar and the pulldown parameter allows
  33.                               the DownArrow key to act like the Enter key for
  34.                               pull-down menus.  Fixed a bug which caused the
  35.                               editing keys to not work right on some occasions.
  36.                 wopen       - now checks for valid box type.
  37.                 wrestore    - optimized for performance
  38.                 wsave       - optimized for performance
  39.                 wscanf      - no longer checks for Escape keypress.
  40.                 wsetesc     - is now a macro defined in TCXLWIN.H, no longer
  41.                               checks for active window.
  42.  
  43.                 New info added to the window record structure _wrecord.  See
  44.                 TCXLWIN.H for full definition.
  45.  
  46.  
  47. Version 3.2:
  48.             New features.
  49.                 Bar selection menus.
  50.                 No limit to number of open windows.
  51.                 Mouse functions for Microsoft compatible mice.
  52.                 TCXL is now available in all of Turbo C's memory models:
  53.                     TCXL.LIB    - tiny & small memory models (included)
  54.                     TCXLM.LIB   - medium memory model (with registration)
  55.                     TCXLC.LIB   - compact memory model (with registration)
  56.                     TCXLL.LIB   - large memory model (with registration)
  57.                     TCXLH.LIB   - huge memory model (with registration)
  58.  
  59.  
  60.                                       1    
  61.  
  62.             New header file for mouse functions:  TCXLMOU.H
  63.  
  64.             New functions.
  65.                 lprintf   - sends formatted output to the printer
  66.                 msbpress  - gets info about specific button presses of mouse
  67.                 msbreles  - gets info about specific button releases of mouse
  68.                 mscursor  - sets the mouse cursor mode
  69.                 msgotoxy  - sets the mouse coordinates
  70.                 mshbounds - sets the mouse horizontal bounds
  71.                 mshidecur - hides the mouse cursor
  72.                 msinit    - initializes mouse/determines if present
  73.                 msmotion  - gets info about movement of mouse
  74.                 msshowcur - reveals the mouse cursor
  75.                 msspeed   - adjusts the mouse sensitivity
  76.                 msstatus  - gets the mouse status
  77.                 msvbounds - sets the mouse vertical bounds
  78.                 strltrim  - trims leading spaces off of a string
  79.                 strtrim   - trims trailing spaces off of a string
  80.                 wmbardef  - defines a window bar menu option
  81.                 wmbarget  - gets a window bar menu option from the keyboard
  82.                 wmbarxcel - cancels all defined window bar menu options
  83.                 wsetesc   - sets the Escape key checking for window keyboard
  84.                             input functions
  85.  
  86.             Modified functions.
  87.                 box       - added another box type
  88.                 boxd      - added another box type
  89.                 emsread   - now returns a zero if no error, non-zero if error
  90.                 emswrite  - now returns a zero if no error, non-zero if error
  91.                 kbstat    - is now a macro defined in TCXLKEY.H
  92.                 setlines  - doesn't clear the screen on return from 43 and 50
  93.                             line modes
  94.                 strchg    - now returns a char *
  95.                 strcode   - now returns a char *
  96.                 strdel    - now returns a char *
  97.                 strichg   - now returns a char *
  98.                 stridel   - now returns a char *
  99.                 strins    - now returns a char *
  100.                 strrol    - now returns a char *
  101.                 strror    - now returns a char *
  102.                 strshl    - now returns a char *
  103.                 strshr    - now returns a char *
  104.                 struplow  - now returns a char *
  105.                 vidtype   - was incorrectly detecting Hercules adapters
  106.                 wgetchf   - Escape checking is now controlled by wsetesc()
  107.                 wgetns    - Escape checking is now controlled by wsetesc()
  108.                 winpdef   - field attribute argument added
  109.                 winpread  - editing keys are now more intuitive.  Now processes
  110.                             fields by screen order rather than by definition
  111.                             order.  Also new editing keys, Ctrl-Enter and Ins
  112.                             have been added.  The Del key now shifts text left
  113.                             as it deletes.
  114.                 wopen     - added another box type, allows as many open windows
  115.                             as memory permits
  116.  
  117.             New global variables.
  118.  
  119.  
  120.                                       2    
  121.                 _wesc      - Escape key checking flag.  This is set by the
  122.                              wsetesc() function.
  123.                 _wmbarlast - contains the array subscript of the highest
  124.                              defined bar-menu option.
  125.                 _wmbarrec  - a pointer to the array of defined bar-menu options
  126.  
  127.             Added new fields to the _wrecord structure.  See TCXLWIN.H for
  128.             description.
  129.  
  130.  
  131. Version 3.1:
  132.             Bug fix.
  133.                 A bug was detected in the wchgattr(), wrestore(), wsave(), and
  134.                 wscroll() functions which may have caused problems in the
  135.                 Small memory model.  Fixed.
  136.  
  137.  
  138. Version 3.0:
  139.             New features.
  140.                 Support for EGA 43-line and VGA 50-line modes.
  141.                 Support for the DESQview windowing environment.
  142.                 Better support for monochrome adapters.
  143.                 More windowing functions.
  144.                 Better error handling in windowing functions.
  145.                 Formatted window input and output.
  146.                 Multi-field window input.
  147.                 Save/restore screens/windows from disk files.
  148.                 String pattern matching.
  149.  
  150.             The TCXL.H header file has now been broken up into several header
  151.             files to conserve compile time and memory.  TCXL.H still exists for
  152.             compatibility, however, you should only use the header files that
  153.             you need.
  154.                 TCXL.H      - all functions (for pre-3.0 compatibility)
  155.                 TCXLDEF.H   - miscellaneous functions
  156.                 TCXLDSK.H   - disk functions
  157.                 TCXLEMS.H   - EMS functions
  158.                 TCXLKEY.H   - keyboard functions
  159.                 TCXLPRN.H   - printer functions
  160.                 TCXLSTR.H   - string functions
  161.                 TCXLVID.H   - video functions
  162.                 TCXLWIN.H   - windowing functions
  163.  
  164.             New functions.  See TCXL.DOC for descriptions.
  165.                 cvaltype    - tests given character with given character type
  166.                               code for validity.
  167.                 disktoscrn  - copies a saved screen disk file to screen.
  168.                 disktowin   - copies a saved window disk file to screen.
  169.                 fexist      - determines if a disk file exists.
  170.                 getxch      - gets a key (ASCII code/extended ASCII code) from
  171.                               the keyboard.
  172.                 inputsf     - inputs a formatted string from the keyboard.
  173.                 lprintsu    - prints an underlined string to the printer
  174.                 scrntodisk  - copies the current screen to a disk file
  175.                 setlines    - sets the number of lines on the display, up
  176.                               to 43 lines for EGA, and 50 lines for VGA
  177.                               adapters
  178.  
  179.  
  180.                                       3    
  181.                 strbmatch   - returns the best match of a string in an array of
  182.                               strings
  183.                 strmatch    - compares 2 strings, returns a match score
  184.                 struplow    - converts a string to mixed upper & lower case
  185.                 touplow     - converts a character to upper or lower case
  186.                               depending on previous character
  187.                 videoinit   - initializes TCXL's video system to the present
  188.                               video adapter (MDA, HGC, CGA, EGA, VGA) or to
  189.                               DESQview, if it is active
  190.                 wchgattr    - changes attribute of active window
  191.                 werrmsg     - returns an error message from the last windowing
  192.                               function
  193.                 winpdef     - defines an area of active window for keyboard
  194.                               input
  195.                 winpread    - processes keyboard input of all defined areas of
  196.                               active window
  197.                 winputsf    - inputs a formatted string from the keyboard
  198.                               within a window
  199.                 winpxcel    - cancels keyboard input of all defined active
  200.                               window areas
  201.                 wintodisk   - copies a window of the screen to a disk file
  202.                 wisactiv    - determines if specified window handle is active
  203.                 wnopen      - returns the number of open windows
  204.                 wpgotoxy    - sets pseudo window cursor coordinates by wrapping
  205.                               around
  206.                 wprintf     - outputs a formatted string to active window
  207.                 wreadcur    - reads active window's current cursor coordinates
  208.                 wscanf      - inputs a formatted string from active window
  209.  
  210.             New global variables.  See TCXL.DOC for descriptions.
  211.                 _videoseg  - contains the address of the current video RAM
  212.                              segment.  This value initially contains 0xb800
  213.                              (segment address of CGA) but may be changed upon
  214.                              calling the videoinit() function.
  215.                 _werrno    - contains the error code from the most recently
  216.                              performed windowing function.  All of the
  217.                              windowing functions were modified to set this
  218.                              variable upon exit.  See TCXLWIN.H for a list of
  219.                              error codes.
  220.                 _winpcurr  - current window input record array subscript
  221.                 _winprec   - an array of defined window input records, see
  222.                              TCXLWIN.H for definition.
  223.  
  224.             Modified functions.  See TCXL.DOC for full descriptions.
  225.                 clrscrn  - now clears screens of up to 50 lines
  226.                 lcrlf    - this macro now calls lprintc() with a line feed
  227.                            character only
  228.                 lprintc  - now translates the linefeed character into a
  229.                            carriage return - line feed sequence
  230.                 lprintns - now translates the linefeed character into a
  231.                            carriage return - line feed sequence
  232.                 lprints  - now translates the linefeed character into a
  233.                            carriage return - line feed sequence
  234.                 vidtype  - checks for more types of video adapters.  See
  235.                            TCXLVID.H for a complete list
  236.                 wclear   - wasn't homing the cursor after clear, fixed
  237.                 wmove    - wasn't keeping cursor coordinates properly, fixed
  238.  
  239.  
  240.                                       4    
  241.                 wopen    - was only allowing 9 open windows at a time, now
  242.                            allows 10 at a time.
  243.                 wprints  - didn't return an error when string was too long for
  244.                            window, fixed
  245.                 wputc    - backspace character now wraps back around if at the
  246.                            first window column
  247.  
  248.             To provide compatibility with C naming conventions, the following
  249.             functions were renamed.
  250.                 getsf       ->      getns
  251.                 lprintsf    ->      lprintns
  252.                 wgetsf      ->      wgetns
  253.                 wputsf      ->      wputns
  254.  
  255.             Added box type 4 for the box(), boxd(), and wopen() functions.
  256.  
  257.             Optimized several functions for better performance.
  258.  
  259.  
  260. Version 2.5:
  261.             Added new functions for EMS memory management, string manipulation,
  262.             and windowing.  See TCXL.DOC for full descriptions and examples.
  263.                 emsalloc   - allocates pages of EMS memory
  264.                 emsdealloc - deallocates previously allocated pages of EMS
  265.                              memory
  266.                 emsexist   - determines if the EMS device driver is loaded
  267.                 emsframe   - returns the EMS page frame address
  268.                 emsfree    - returns the number of free EMS pages
  269.                 emsmap     - maps a logical EMS page onto a physical page
  270.                              address
  271.                 emsread    - reads bytes from an EMS page(s)
  272.                 emstotal   - returns the total number of EMS pages on the
  273.                              system
  274.                 emsver     - returns the current EMS version
  275.                 emswrite   - writes bytes to an EMS page(s)
  276.                 expmem     - determines the amount of expanded memory on the
  277.                              system in kilobytes
  278.                 strcode    - encodes/decodes a string
  279.                 strins     - inserts one string into another
  280.                 strrol     - rotates string x characters left, characters wrap
  281.                              around
  282.                 strror     - rotates string x characters right, characters wrap
  283.                              around
  284.                 strshl     - shifts string x characters left, characters 'drop
  285.                              off' of the string and spaces are added
  286.                 strshr     - shifts string x characters right, characters 'drop
  287.                              off' of the string and spaces are added
  288.                 wcloseall  - closes all open windows
  289.                 wcopy      - creates a new window by copying the active window
  290.  
  291.             The following functions were changed to check for the existence of
  292.             any active windows.
  293.                 wclear   - now returns a return code (see TCXL.H)
  294.                 wclose   - now returns a return code (see TCXL.H)
  295.                 wclreol  - now returns a return code (see TCXL.H)
  296.                 wgetc    - now returns a 0 if error
  297.                 wgetchf  - now returns a 0 if error
  298.  
  299.  
  300.                                       5    
  301.                 wgets    - now returns a return code (see TCXL.H)
  302.                 wgetsf   - added an additional possible error code (see TCXL.H)
  303.                 wgotoxy  - added an additional possible error code (see TCXL.H)
  304.                 wmove    - added an additional possible error code (see TCXL.H)
  305.                 wprintc  - added an additional possible error code (see TCXL.H)
  306.                 wprints  - added an additional possible error code (see TCXL.H)
  307.                 wputc    - now returns a return code (see TCXL.H)
  308.                 wputs    - now returns a return code (see TCXL.H)
  309.                 wputsf   - now returns a return code (see TCXL.H)
  310.                 wscroll  - now returns a return code (see TCXL.H)
  311.                 wsize    - added an additional possible error code (see TCXL.H)
  312.                 wtextattr - now returns a return code (see TCXL.H)
  313.  
  314.             The following functions were changed to recognize the '\r', '\7',
  315.             and the '\t' control characters.
  316.                 wputc
  317.                 wputs
  318.                 wputsf
  319.  
  320.             wprints() was changed so it will not recognize the '\n' control
  321.             character and it will no longer scroll the window when at the end
  322.             of it.  For these purposes, use the wputs() function instead.
  323.  
  324.             ssave() and srestore() were converted to assembly language for
  325.             optimized performance.
  326.  
  327.  
  328. Version 2.1:
  329.             Added new functions.  See TCXL.DOC for full descriptions and
  330.             examples.
  331.                 wclreol  - clears to the end of the active window's line
  332.                 wgetc    - gets a character from the keyboard within active
  333.                            window
  334.                 wgetchf  - gets a character from the keyboard within active
  335.                            window, only allows characters from a given list
  336.                 wgets    - gets a string from the keyboard within active window
  337.                 wgetsf   - gets a string from the keyboard within active
  338.                            window, limits input to specified length
  339.                 wputsf   - prints a string in active window, formatting width
  340.                            of output
  341.                 wsize    - adjusts the size of the active window
  342.  
  343.             Expanded the window record structure (_wrecord) to include more
  344.             information useful for window management.  See TCXL.H for the
  345.             layout of the _wrecord structure.
  346.  
  347.             Modifed some of the existing functions.
  348.                 getchf  - optimized for better performance
  349.                 wactiv  - modified to work with new window record
  350.                 wclear  - modified to work with new window record
  351.                 wgotoxy - modified to work with new window record
  352.                 wmove   - modified to work with new window record, now returns
  353.                           a zero for no error or one of the return codes in
  354.                           the TCXL.H file
  355.                 wopen   - modified to work with new window record
  356.                 wprintc - modified to work with new window record
  357.                 wprints - modified to work with new window record
  358.  
  359.  
  360.                                       6    
  361.                 wputc   - modified to work with new window record, now returns
  362.                           type void, fixed a bug which caused it not to work
  363.                           sometimes
  364.                 wputs   - changed return type to void and optimized for better
  365.                           performance, also now recognized the backspace '\b'
  366.                           character
  367.                 wscroll - modified to work with new window record
  368.  
  369.  
  370. Version 2.0:
  371.             Added a new window task manager which simpilfies use of windowing.
  372.             Several of the windowing functions' syntax have been changed and
  373.             some have been added.  See TCXL.DOC for full descriptions and
  374.             examples.
  375.                 wopen     - now returns a window handle instead of a pointer
  376.                 wclose    - closes the currently active window
  377.                 wactiv    - new function, activates a currently open window
  378.                             using the window handle returned by wopen()
  379.                 wclear    - clears the currently active window
  380.                 wgotoxy   - plots cursor coordinates in currently active window
  381.                 wmove     - moves currently active window to a new location
  382.                 wprintc   - prints a character in the active window, now
  383.                             returns a 1 if cursor placement error occurred
  384.                 wprints   - prints a string in the active window, now returns a
  385.                             1 if cursor placement error occurred, now provides
  386.                             wrap-around and scrolling, now also will recognize
  387.                             line feed ('\n') characters in string
  388.                 wputc     - prints a character in currently active window at
  389.                             current cursor location, uses attribute set by the
  390.                             wtextattr() function
  391.                 wputs     - prints a string in currently active window at the
  392.                             current cursor location, uses attribute set by the
  393.                             wtextattr() function
  394.                 wscroll   - scrolls text in the currently active window
  395.                 wtextattr - sets the default text attribute for several of the
  396.                             windowing functions
  397.  
  398.             Deleted the wswap() and wswapx() functions as wactiv() takes their
  399.             place.
  400.  
  401.             Added global variables to assist in managing the windows.
  402.                 _wrecord   - an array of structures that contain window handles
  403.                              and window buffer pointers.  See TCXL.H
  404.                 _wcurrent  - contains the array subscript of the window that is
  405.                              currently active
  406.                 _wtextattr - contains the default window text attribute
  407.  
  408.             Added several new functions.  See TCXL.DOC for full descriptions
  409.             and examples.
  410.                 clockcal - checks for presence of clock/calendar card in XT
  411.                 extmem   - determines the amount of AT extended memory
  412.                 getktot  - gets total size of a disk drive in kilobytes
  413.                 machid   - returns the ROM signature byte
  414.                 scrndump - sends contents of text screen to printer
  415.                 timer    - returns the value of the BIOS timer
  416.  
  417.             Revised/changed several functions.
  418.  
  419.  
  420.                                       7    
  421.                 biosver  - now returns pointer to static string instead of
  422.                            allocated string, so DON'T use free() on the
  423.                            string.  Also now independent of Turbo C library.
  424.                 box      - fixed a bug that caused this function to misbehave
  425.                            when using the small memory model
  426.                 boxd     - fixed a bug that caused this function to misbehave
  427.                            when using the small memory model
  428.                 spc      - optimized performance
  429.                 strleft  - fixed a minor bug occurring on allocation error
  430.                 strmid   - fixed a minor bug occurring on allocation error
  431.                 strright - fixed a minor bug occurring on allocation error
  432.                 waitkey  - now returns the key pressed
  433.  
  434.             Borland recently released Turbo C Version 1.5.  Included in their
  435.             standard library now are the functions clreol(), delay(), gotoxy(),
  436.             and sound().  These functions are similar but not identical to
  437.             the TCXL functions of the same name.  To provide compatibility
  438.             with the new Turbo C 1.5 library, I have renamed the affected TCXL
  439.             functions.
  440.                 clreol  ->  clreol_
  441.                 delay   ->  delay_
  442.                 gotoxy  ->  gotoxy_
  443.                 sound   ->  sound_
  444.  
  445.             Also in Turbo C 1.5, Borland included macros for the text mode
  446.             colors in GRAPHICS.H.  To provide compatibility with Turbo C 1.5,
  447.             many of the macros for colors in the TCXL.H file have been renamed.
  448.                 YELLOW      ->  BROWN
  449.                 WHITE       ->  LGREY
  450.                 IBLACK      ->  DGREY
  451.                 IBLUE       ->  LBLUE
  452.                 IGREEN      ->  LGREEN
  453.                 ICYAN       ->  LCYAN
  454.                 IRED        ->  LRED
  455.                 IMAGENTA    ->  LMAGENTA
  456.                 IYELLOW     ->  YELLOW
  457.                 IWHITE      ->  WHITE
  458.                 _YELLOW     ->  _BROWN
  459.                 _WHITE      ->  _LGREY
  460.  
  461.  
  462. Version 1.6:
  463.             Added a new function.  See TCXL.DOC for description.
  464.                 tabstop - calculates the next tab stop from current cursor
  465.                           location
  466.  
  467.             Fixed a problem in the sound() function that caused it not to work
  468.             to work in some machines.
  469.  
  470.             Optimized performance of several functions.
  471.                 boxd
  472.                 delay
  473.                 filld
  474.                 getchf
  475.                 printcd
  476.                 printsd
  477.                 sound
  478.  
  479.  
  480.                                       8    
  481.                 strsetsz
  482.                 wclear
  483.                 whide
  484.                 wmove
  485.                 wscroll
  486.  
  487.  
  488. Version 1.5:
  489.             Added several new functions.  See TCXL.DOC for full descriptions
  490.             and examples.
  491.                 clrwin  - clears a window of the CGA screen
  492.                 setattr - sets the attribute of character under cursor
  493.                 wclear  - clears an open window
  494.                 whide   - hides an open window
  495.                 wgotoxy - plots cursor coordinates within an open window
  496.                 wprintc - prints a character within an open window
  497.                 wprints - prints a string within an open window
  498.                 wscroll - scrolls text within an open window
  499.                 wswap   - swaps 2 windows, the back becomes the front
  500.                 wswapx  - swaps 3 windows, the back becomes the front
  501.                 wunhide - reveals a previously hidden open window
  502.  
  503.             Revised/changed several functions.  See TCXL.DOC for full
  504.             descriptions and examples.
  505.                 getchf  - now returns character typed but still provides
  506.                           automatic checking for the Escape key
  507.                 lprintc - changed 'ch' parameter in prototype to type 'int'
  508.                 revattr - added a 'count' parameter
  509.                 striocc - changed 'ch' parameter in prototype to type 'int'
  510.                 strocc  - changed 'ch' parameter in prototype to type 'int'
  511.                 wprintc - changed 'ch' parameter in prototype to type 'int'
  512.  
  513.              Optimized performance of several functions.
  514.                 box
  515.                 boxd
  516.                 fill
  517.                 getchf
  518.                 gotoxy
  519.                 printc
  520.                 prints
  521.                 prompts
  522.                 ssave
  523.                 strdel
  524.                 stridel
  525.                 wmove
  526.                 wopen
  527.  
  528.  
  529. Version 1.0:
  530.             Initial release.
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.                                       9    
  541.